let fs = require('fs');
const config=require("./config.json")
let path = require("path");

let {logError,logWarn,endWith} =require("./Util") ;


/**
 * 计算行数
 * @param filePath
 */
function checkLineNumber(filePath){
    fs.readFile(filePath, function(err, data) {
        if (err) {
            console.log(err)
            return
        }
        let lines = data.toString().split('\n')
        if(lines.length>config.errorLineNumber){
            logError("行数检查:"+filePath+" "+lines.length+"行")
        }else if(lines.length>config.warnLineNumber){
            logWarn("行数检查:"+filePath+" "+lines.length+"行")
        }

    })
}
/**
 * 中文文件名检查
 * @param filePath
 */
function checkChineseFileName(filePath){
    let fileName = path.basename(filePath);

    let reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
    if(reg.test(fileName)){
        logError("中文文件名:"+filePath)
    }
}

function check(filePath){
    // let fileName = path.basename(filePath);
    //只对指定格式检查代码行数
    if (endWith(filePath,config.targetFileType)){
        checkLineNumber(filePath);
    }
    checkChineseFileName(filePath)
}


module.exports={
    check:check
}